package net.neptech.feign;

import net.neptech.model.appointment.Appointment;
import net.neptech.model.appointment.MedicalCase;
import net.neptech.vm.ResponseResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@FeignClient("service-appointment")
public interface AppointmentFeign {
    @PostMapping("/appointment/appointment")
    ResponseResult<Integer> appointment(@RequestBody Appointment appointment);

    @GetMapping("/appointment/test")
    ResponseResult<Appointment> test();

    @GetMapping("/appointment/updateStatusByOrderId")
    ResponseResult<Void> updateStatusByOrderId(@RequestParam("orderId") Long orderId, @RequestParam("status") Byte status);

    @GetMapping("/appointment/medical/case/list")
    ResponseResult<List<MedicalCase>> medicalCaseList(@RequestParam(value = "deptIds", required = false) Long[] deptIds);
}
